<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>核心知识 - 系统架构师考试备考助手</title>
    <link rel="stylesheet" href="css/style.css">
    <link rel="stylesheet" href="css/core-knowledge.css">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
</head>
<body>
    <div class="container">
        <!-- 顶部导航 -->
        <header class="sub-header">
            <a href="index.html" class="back-btn">
                <i class="fas fa-arrow-left"></i>
            </a>
            <h1>核心知识</h1>
            <div class="header-action">
                <i class="fas fa-search"></i>
            </div>
        </header>

        <!-- 知识分类 -->
        <div class="knowledge-categories">
            <div class="knowledge-category active">全部</div>
            <div class="knowledge-category">基础理论</div>
            <div class="knowledge-category">架构设计</div>
            <div class="knowledge-category">项目管理</div>
            <div class="knowledge-category">案例分析</div>
        </div>

        <!-- 知识图谱 -->
        <section class="knowledge-map">
            <h2 class="section-title">知识图谱</h2>
            <div class="map-container">
                <div class="map-node central">
                    <div class="node-content">
                        <i class="fas fa-sitemap"></i>
                        <span>系统架构</span>
                    </div>
                    <div class="node-connections">
                        <div class="connection to-node-1"></div>
                        <div class="connection to-node-2"></div>
                        <div class="connection to-node-3"></div>
                        <div class="connection to-node-4"></div>
                        <div class="connection to-node-5"></div>
                    </div>
                </div>
                <div class="map-node node-1">
                    <div class="node-content">
                        <i class="fas fa-server"></i>
                        <span>分布式系统</span>
                    </div>
                </div>
                <div class="map-node node-2">
                    <div class="node-content">
                        <i class="fas fa-database"></i>
                        <span>数据架构</span>
                    </div>
                </div>
                <div class="map-node node-3">
                    <div class="node-content">
                        <i class="fas fa-shield-alt"></i>
                        <span>安全架构</span>
                    </div>
                </div>
                <div class="map-node node-4">
                    <div class="node-content">
                        <i class="fas fa-code-branch"></i>
                        <span>软件架构</span>
                    </div>
                </div>
                <div class="map-node node-5">
                    <div class="node-content">
                        <i class="fas fa-tasks"></i>
                        <span>项目管理</span>
                    </div>
                </div>
            </div>
        </section>

        <!-- 核心知识点 -->
        <section class="knowledge-points">
            <div class="section-header">
                <h2 class="section-title">核心知识点</h2>
                <div class="view-toggle">
                    <i class="fas fa-th-list active" id="list-view"></i>
                    <i class="fas fa-th" id="grid-view"></i>
                </div>
            </div>
            <div class="knowledge-list">
                <div class="knowledge-card">
                    <div class="knowledge-header">
                        <h3 class="knowledge-title">分布式系统理论</h3>
                        <div class="knowledge-meta">
                            <span class="difficulty">难度: 高</span>
                            <span class="importance">重要性: 5/5</span>
                        </div>
                    </div>
                    <div class="knowledge-content">
                        <p>分布式系统是由多个独立计算机组成的系统，这些计算机通过网络进行通信和协调，对外呈现为单个系统。</p>
                        <div class="knowledge-tags">
                            <div class="tag">CAP理论</div>
                            <div class="tag">一致性算法</div>
                            <div class="tag">分布式事务</div>
                        </div>
                    </div>
                    <div class="knowledge-actions">
                        <button class="expand-btn">展开 <i class="fas fa-chevron-down"></i></button>
                        <button class="favorite-btn"><i class="far fa-star"></i></button>
                    </div>
                    <div class="knowledge-details hidden">
                        <h4>CAP理论</h4>
                        <p>CAP理论指的是在分布式系统中，一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)三者不可兼得，最多只能同时满足其中两项。</p>
                        
                        <h4>一致性算法</h4>
                        <p>常见的一致性算法包括Paxos、Raft和ZAB等，用于解决分布式系统中的数据一致性问题。</p>
                        
                        <h4>分布式事务</h4>
                        <p>分布式事务是指事务的操作位于不同的节点上，需要保证事务的ACID特性。常见的解决方案包括两阶段提交(2PC)、三阶段提交(3PC)和TCC等。</p>
                        
                        <div class="related-questions">
                            <h4>相关题目</h4>
                            <ul>
                                <li><a href="#">在分布式系统中，CAP理论指的是什么？</a></li>
                                <li><a href="#">Paxos算法的基本原理是什么？</a></li>
                                <li><a href="#">分布式事务的解决方案有哪些？</a></li>
                            </ul>
                        </div>
                    </div>
                </div>

                <div class="knowledge-card">
                    <div class="knowledge-header">
                        <h3 class="knowledge-title">微服务架构</h3>
                        <div class="knowledge-meta">
                            <span class="difficulty">难度: 中</span>
                            <span class="importance">重要性: 4/5</span>
                        </div>
                    </div>
                    <div class="knowledge-content">
                        <p>微服务架构是一种将应用程序构建为一组小型服务的方法，每个服务运行在自己的进程中，通过轻量级机制通信。</p>
                        <div class="knowledge-tags">
                            <div class="tag">服务拆分</div>
                            <div class="tag">API网关</div>
                            <div class="tag">服务发现</div>
                        </div>
                    </div>
                    <div class="knowledge-actions">
                        <button class="expand-btn">展开 <i class="fas fa-chevron-down"></i></button>
                        <button class="favorite-btn"><i class="far fa-star"></i></button>
                    </div>
                    <div class="knowledge-details hidden">
                        <h4>服务拆分</h4>
                        <p>服务拆分是微服务架构的核心，需要根据业务边界、数据边界和团队边界等因素进行合理拆分。</p>
                        
                        <h4>API网关</h4>
                        <p>API网关是微服务架构中的入口点，负责请求路由、负载均衡、认证授权、限流熔断等功能。</p>
                        
                        <h4>服务发现</h4>
                        <p>服务发现用于动态定位服务实例，常见的实现方式包括客户端发现和服务端发现两种模式。</p>
                        
                        <div class="related-questions">
                            <h4>相关题目</h4>
                            <ul>
                                <li><a href="#">微服务架构的主要特点有哪些？</a></li>
                                <li><a href="#">如何进行微服务的合理拆分？</a></li>
                                <li><a href="#">API网关的主要功能是什么？</a></li>
                            </ul>
                        </div>
                    </div>
                </div>

                <div class="knowledge-card">
                    <div class="knowledge-header">
                        <h3 class="knowledge-title">设计模式</h3>
                        <div class="knowledge-meta">
                            <span class="difficulty">难度: 中</span>
                            <span class="importance">重要性: 4/5</span>
                        </div>
                    </div>
                    <div class="knowledge-content">
                        <p>设计模式是软件设计中常见问题的典型解决方案，是经过验证的、可重用的解决方案，用于解决特定上下文中的常见设计问题。</p>
                        <div class="knowledge-tags">
                            <div class="tag">创建型模式</div>
                            <div class="tag">结构型模式</div>
                            <div class="tag">行为型模式</div>
                        </div>
                    </div>
                    <div class="knowledge-actions">
                        <button class="expand-btn">展开 <i class="fas fa-chevron-down"></i></button>
                        <button class="favorite-btn"><i class="far fa-star"></i></button>
                    </div>
                    <div class="knowledge-details hidden">
                        <h4>创建型模式</h4>
                        <p>创建型模式关注对象的创建过程，包括工厂方法、抽象工厂、单例、建造者和原型等模式。</p>
                        
                        <h4>结构型模式</h4>
                        <p>结构型模式关注类和对象的组合，包括适配器、桥接、组合、装饰、外观、享元和代理等模式。</p>
                        
                        <h4>行为型模式</h4>
                        <p>行为型模式关注对象之间的通信，包括责任链、命令、解释器、迭代器、中介者、备忘录、观察者、状态、策略、模板方法和访问者等模式。</p>
                        
                        <div class="related-questions">
                            <h4>相关题目</h4>
                            <ul>
                                <li><a href="#">单例模式的实现方式有哪些？</a></li>
                                <li><a href="#">观察者模式和发布-订阅模式的区别是什么？</a></li>
                                <li><a href="#">适配器模式的应用场景有哪些？</a></li>
                            </ul>
                        </div>
                    </div>
                </div>
            </div>
        </section>

        <!-- 底部导航 -->
        <nav class="bottom-nav">
            <a href="index.html">
                <i class="fas fa-home"></i>
                <span>学习</span>
            </a>
            <a href="profile.html">
                <i class="fas fa-user"></i>
                <span>我的</span>
            </a>
        </nav>
    </div>

    <script src="js/knowledge.js"></script>
</body>
</html> 